home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 5 / Gekikoh Dennoh Club Vol. 5 (Japan).7z / Gekikoh Dennoh Club Vol. 5 (Japan) (Track 01).bin / games / kenka / kenka2s.lzh / vs_m.inc < prev   
Text File  |  1998-09-07  |  7KB  |  359 lines

  1. *---------------------------------------
  2. *
  3. *    æ╬ÉφâüâCâô
  4. *
  5. *    by Shiroh Nakaya
  6. *
  7. *---------------------------------------
  8. vs_move:
  9.     lea.l    P2_DATA(a5),a1
  10.     move.w    C_NO(a1),d0
  11.     add.w    d0,d0
  12.     add.w    d0,d0
  13.     lea.l    stage_tbl(pc),a0
  14.     move.l    0(a0,d0.w),d0
  15.     movea.l    #GRAPH_SCROLL,a1        * âOâëâtâBâbâNò\ĪÉ▌ÆΦ
  16.     V_WAIT
  17.     move.l    d0,(a1)+
  18.     move.l    d0,(a1)+
  19.     move.l    d0,(a1)+
  20.     move.l    d0,(a1)
  21.  
  22.     movea.l    #SP_SCROLL,a6
  23.  
  24.     movea.l    a5,a1
  25.     move.w    #$0100,d7
  26.     movea.l    C_PCG_D(a1),a0
  27.     jsr    (a0)                * âXâvâëâCâgôoÿ^
  28.  
  29.     lea.l    P2_DATA(a5),a1
  30.     move.w    #$0280,d7
  31.     movea.l    C_PCG_D(a1),a0
  32.     jsr    (a0)                * âXâvâëâCâgôoÿ^
  33.  
  34. demo_process:
  35.     nop                    * âfâéé╠Ä₧é═bra demo_starté╠âRü[âh
  36.     nop                    * é╔Åæé½è╖éφéΘ
  37.  
  38.     moveq.l    #$23,d0
  39.     moveq.l    #13,d1
  40.     moveq.l    #8,d2
  41.     trap    #15                * IOCS _B_LOCATE
  42.     moveq.l    #$21,d0
  43.     lea.l    go_mess(pc),a1
  44.     trap    #15                * IOCS _B_PRINT
  45.     moveq.l    #$1f,d0
  46.     trap    #15                * IOCS _B_CUROFF
  47.  
  48.     moveq.l    #60-1,d0
  49. 5:
  50.     V_WAIT
  51.     dbra    d0,5b
  52.  
  53.     moveq.l    #$23,d0
  54.     moveq.l    #13,d1
  55.     moveq.l    #8,d2
  56.     trap    #15                * IOCS _B_LOCATE
  57.     moveq.l    #$21,d0
  58.     lea.l    no_mess(pc),a1
  59.     trap    #15                * IOCS _B_PRINT
  60.     moveq.l    #$1f,d0
  61.     trap    #15                * IOCS _B_CUROFF
  62.  
  63. demo_start:
  64.     clr.l    go_adpcm
  65.     move.w    #3600,stage_score        * âXâRâAÅëè·ë╗
  66.                         * âXâRâAé═î╕ô_û@üiéPü^éUéOòbé╔éPô_é├é┬î╕éΘüj
  67. main_loop:
  68.     btst    #1,KEY_TBL.w            * édérébâLü[é╔éµéΘâ|ü[âYÅêù¥
  69.     beq    pause_exit            * âfâéé╠Ä₧é═joy_chké╔ö≥é╘
  70.  
  71.     moveq.l    #$23,d0
  72.     moveq.l    #10,d1
  73.     moveq.l    #8,d2
  74.     trap    #15                * IOCS _B_LOCATE
  75.     moveq.l    #$21,d0
  76.     lea.l    pause_mess(pc),a1
  77.     trap    #15                * IOCS _B_PRINT
  78.     moveq.l    #$1f,d0
  79.     trap    #15                * IOCS _B_CUROFF
  80.  
  81. 5:
  82.     btst    #1,KEY_TBL.w
  83.     bne    5b
  84.  
  85. 5:
  86.     btst    #1,KEY_TBL.w
  87.     beq    5b
  88.  
  89. 5:
  90.     btst    #1,KEY_TBL.w
  91.     bne    5b
  92.  
  93.     moveq.l    #$23,d0
  94.     moveq.l    #10,d1
  95.     moveq.l    #8,d2
  96.     trap    #15                * IOCS _B_LOCATE
  97.     moveq.l    #$21,d0
  98.     lea.l    no_mess(pc),a1
  99.     trap    #15                * IOCS _B_PRINT
  100.     moveq.l    #$1f,d0
  101.     trap    #15                * IOCS _B_CUROFF
  102.  
  103. pause_exit:
  104.     subq.w    #1,stage_score            * âXâRâAî╕ÄZ
  105.     bpl    5f                * â}âCâiâXé╔é╚é┴é╜ÅΩìçé═éOé╔é╖éΘ
  106.     clr.w    stage_score
  107. 5:
  108.     lea.l    v_sp_reg,a6            * é`éUüüë╝æzâXâNâìü[âïâîâWâXâ^î╗ì▌Æl
  109.  
  110.     lea.l    P1_V_DATA(a5),a1        * é`éPüüæ╠ù═â}ü[âNâLâââëâfü[â^ɵô¬âAâhâîâX
  111.     movea.l    a5,a2                * é`éQüüæ╬ë₧é╖éΘâLâââëâfü[â^ɵô¬âAâhâîâX
  112.     move.w    #15,d1                * écéPüüò\Īéwì└òW
  113.     move.w    #$017b,d7            * écéVüüéoébéfâfü[â^
  114.     VI_DISP                    * æ╠ù═ò\Ī
  115.  
  116.     lea.l    P2_V_DATA(a5),a1
  117.     lea.l    P2_DATA(a5),a2
  118.     move.w    #257,d1
  119.     move.w    #$4280+$7b,d7
  120.     VI_DISP
  121.  
  122.     lea.l    P1_H_DATA(a5),a1        * é`éPüüâqâbâgâ}ü[âNâLâââëâfü[â^ɵô¬âAâhâîâX
  123.     tst.w    C_M_F(a1)            * âqâbâgâ}ü[âNé¬Åoî╗é╡é─éóé╚éóé╚éτ
  124.     beq    5f                * Åêù¥é╡é╚éó
  125.     move.w    #$017c,d7            * écéVüüéoébéfâZâOâüâôâgâfü[â^
  126.     H_DISP                    * âqâbâgâ}ü[âNò\Ī
  127.  
  128. 5:
  129.     lea.l    P2_H_DATA(a5),a1
  130.     tst.w    C_M_F(a1)
  131.     beq    5f
  132.     move.w    #$0280+$7c,d7
  133.     H_DISP
  134.  
  135. 5:
  136.     movea.l    a5,a1                * é`éPüüÄ⌐âLâââëâfü[â^ɵô¬âAâhâîâX
  137.     lea.l    P2_DATA(a5),a2            * é`éQüüæèÄΦâLâââëâfü[â^ɵô¬âAâhâîâX
  138.     tst.w    C_K(a2)
  139.     bpl    p1_joy_chg
  140.     lea.l    not_joy(pc),a3            * é`éRüüâXâeâBâbâNôⁿù═ö╗ÆΦâïü[â`âô
  141.     bra    6f
  142. p1_joy_chg:
  143.     lea.l    not_joy(pc),a3
  144. 6:
  145.     move.w    #$0100,d7            * écéVüüéoébéfâZâOâüâôâgâfü[â^
  146.     H_CTRL                    * âLâââëâNâ^ê┌ô«
  147.     tst.w    C_M_F(a5)
  148.     bne    5f
  149.     tst.w    C_K(a5)                * æ╠ù═é¬é╚é¡é╚é┴é╜éτéjénÅêù¥é╓
  150.     bmi    ko_process
  151.  
  152. 5:
  153.     lea.l    P2_DATA(a5),a1
  154.     movea.l    a5,a2
  155.     tst.w    C_K(a2)
  156.     bpl    p2_joy_chg
  157.     lea.l    not_joy(pc),a3
  158.     bra    6f
  159. p2_joy_chg:
  160.     lea.l    not_joy(pc),a3
  161. 6:
  162.     move.w    #$0280,d7
  163.     H_CTRL
  164.     lea.l    P2_DATA(a5),a1
  165.     tst.w    C_M_F(a1)
  166.     bne    5f
  167.     tst.w    C_K(a1)
  168.     bmi    ko_process
  169.  
  170. 5:
  171.     move.l    #v_sp_reg_end,d0
  172.     sub.l    a6,d0                * ë╝æzâXâNâìü[âïâîâWâXâ^é¬æSé─ôoÿ^é│éΩé─éóé╜
  173.     beq    clr_sp_reg            * éτëµû╩èOæ╥ö≡Åêù¥é═ìséφé╚éó
  174.     lsr.l    #1,d0
  175.     lea.l    clr_sp_reg(pc),a1
  176.     suba.l    d0,a1
  177.     jmp    (a1)                * òKÄEé╠âïü[âvôWèJ
  178.  
  179.     .rept    70                * òsòKùvé╚âXâvâëâCâgé≡ëµû╩èOé╓
  180.     clr.l    (a6)+
  181.     .endm
  182. clr_sp_reg:
  183.  
  184.     tst.l    go_adpcm            * é`écéoébélö¡ë╣Åêù¥
  185.     beq    6f
  186.     movea.l    go_adpcm,a0
  187.     move.l    (a0)+,d0            * âfü[â^âAâhâîâX
  188.     move.b    (a0)+,clock_chg+1        * âNâìâbâNÉ╪éΦè╖éªâRü[âh
  189.     move.b    (a0)+,d1            * âTâôâvâèâôâOâîü[âg
  190.     move.w    (a0),d2                * ô]æùâoâCâgÉö
  191.  
  192.     move.b    #1,$00e92001            * é`écéoébélÆΓÄ~
  193.     move.b    #$20,$e840c7            * écélé`ébô«ì∞ÆåÆfüiÉ╝É∞æPÄiÄüé╠Æmîbüj
  194.  
  195. opm_read_loop:
  196.     tst.b    OPM_DATA
  197.     bmi    opm_read_loop
  198.     move.b    #$1b,OPM_REG_NO            * âNâìâbâNÉ▌ÆΦ
  199. clock_chg:
  200.     bclr    #7,OPM_DATA            * É▌ÆΦâNâìâbâNé╔éµé┴é─âRü[âhé¬è╖éφéΘ
  201.     move.b    d1,$00e9a005            * âTâôâvâèâôâOâîü[âgÉ▌ÆΦ
  202.     move.b    #$80,$00e840c4            * écélé`ébÉ▌ÆΦ
  203.     move.b    #$04,$00e840c6
  204.     move.b    #$05,$00e840e9
  205.     move.b    #$01,$00e840ed
  206.     move.b    #$05,$00e840f1
  207.     move.b    #$72,$00e840c5
  208.     st    $00e840c0
  209.     move.l    d0,$00e840cc            * ô]æùî│âAâhâîâX
  210.     move.l    #$00e92003,$00e840d4        * ô]æùɵâAâhâîâXü@é╖é╚éφé┐é`écéoébél
  211.     move.w    d2,$00e840ca            * ô]æùâTâCâY
  212.     move.b    #$88,$00e840c7            * ô]æùèJÄn
  213.     move.b    #2,$00e92001            * é`écéoébélö¡É║èJÄn
  214.  
  215.     clr.l    go_adpcm
  216. 6:
  217.     lea.l    v_sp_reg,a1
  218.     movea.l    #SP_SCROLL,a2
  219.     V_WAIT                    * ÉéÆ╝ïAÉⁿè·è╘é▄é┼æ╥é┬
  220.     move.w    #$0000,BG_CTRL            * âXâvâëâCâgò\Īénéeée
  221.     .rept    70                * Üjî─âïü[âvôWèJ
  222.     move.l    (a1)+,(a2)+            * ë╝æzâXâNâìü[âïâîâWâXâ^é⌐éτû{ò¿é╠
  223.     .endm                    * âXâNâìü[âïâîâWâXâ^é╓
  224.     move.w    #$0200,BG_CTRL            * âXâvâëâCâgò\Īéném
  225.  
  226.     bra    main_loop
  227.  
  228. ko_process:                    * éjénÅêù¥
  229.     V_WAIT
  230.  
  231.     movea.l    #SP_SCROLL,a2
  232.     move.w    #70-1,d0
  233. 5:
  234.     clr.l    (a2)+
  235.     dbra    d0,5b
  236.  
  237.     st    $00e840c0            * écélé`ébâtâëâOâNâèâA
  238.  
  239. demo_exit:
  240.     nop                    * âfâéé╠Ä₧é═rtsé╠âRü[âh
  241.  
  242.     movea.l    #SP_SCROLL,a6
  243.     movea.l    a5,a1
  244.     tst.w    C_K(a1)
  245.     bpl    5f
  246.     move.w    #2,C_M_F(a1)
  247.     bra    6f
  248. 5:
  249.     move.w    #3,C_M_F(a1)            * Åƒé┐â|ü[âY
  250. 6:
  251.     move.w    #$0100,d7
  252.     movea.l    C_PCG_D(a1),a0
  253.     jsr    (a0)                * âXâvâëâCâgôoÿ^
  254.  
  255.     lea.l    P2_DATA(a5),a1
  256.     tst.w    C_K(a1)
  257.     bpl    5f
  258.     move.w    #2,C_M_F(a1)
  259.  
  260.     bra    6f
  261. 5:
  262.     move.w    #3,C_M_F(a1)
  263. 6:
  264.     move.w    #$0280,d7
  265.     movea.l    C_PCG_D(a1),a0
  266.     jsr    (a0)                * âXâvâëâCâgôoÿ^
  267.  
  268.     tst.w    C_K(a5)                * Åƒé┐â[âèâtÅêù¥
  269.     bmi    adpcm_p2
  270.     movea.l    C_PCM_D(a5),a0
  271.     lea.l    160(a0),a0
  272.     bra    5f
  273. adpcm_p2:
  274.     lea.l    P2_DATA(a5),a1
  275.     tst.w    C_K(a1)
  276.     bmi    adpcm_skip
  277.     movea.l    C_PCM_D(a1),a0
  278.     lea.l    160(a0),a0
  279. 5:
  280.     tst.l    (a0)
  281.     beq    adpcm_skip
  282.  
  283.     move.l    (a0)+,d0            * âfü[â^âAâhâîâX
  284.     move.w    (a0),d1                * ô]æùâoâCâgÉö
  285.  
  286.     move.b    #1,$00e92001            * é`écéoébélÆΓÄ~
  287.     move.b    #$20,$e840c7            * écélé`ébô«ì∞ÆåÆfüiÉ╝É∞æPÄiÄüé╠Æmîbüj
  288. won_opm_read_loop:
  289.     tst.b    OPM_DATA
  290.     bmi    won_opm_read_loop
  291.     move.b    #$1b,OPM_REG_NO            * âNâìâbâNÉ▌ÆΦ
  292.     bset    #7,OPM_DATA
  293.     move.b    #$08,$00e9a005            * âTâôâvâèâôâOâîü[âgÉ▌ÆΦ
  294.     move.b    #$80,$00e840c4            * écélé`ébÉ▌ÆΦ
  295.     move.b    #$04,$00e840c6
  296.     move.b    #$05,$00e840e9
  297.     move.b    #$01,$00e840ed
  298.     move.b    #$05,$00e840f1
  299.     move.b    #$72,$00e840c5
  300.     st    $00e840c0
  301.     move.l    d0,$00e840cc            * ô]æùî│âAâhâîâX
  302.     move.l    #$00e92003,$00e840d4        * ô]æùɵâAâhâîâXü@é╖é╚éφé┐é`écéoébél
  303.     move.w    d1,$00e840ca            * ô]æùâTâCâY
  304.     move.b    #$88,$00e840c7            * ô]æùèJÄn
  305.     move.b    #2,$00e92001            * é`écéoébélö¡É║èJÄn
  306. adpcm_skip:
  307.  
  308.     move.w    #60-1,d0
  309. 5:
  310.     V_WAIT
  311.     dbra    d0,5b
  312.  
  313.     movea.l    #SP_SCROLL,a6
  314.     move.w    #70-1,d0
  315. 5:
  316.     clr.l    (a6)+
  317.     dbra    d0,5b
  318.  
  319.     rts
  320. *---------------------------------------
  321. joy_chk:                    * âfâéÆåé╠Åêù¥
  322.     cmpi.w    #3000,stage_score
  323.     blt    ko_process
  324.  
  325.     bsr    joy_0
  326.     btst    #6,d0
  327.     bne    joy_1_check
  328. joy_0_loop:
  329.     bsr    joy_0
  330.     btst    #6,d0
  331.     beq    joy_0_loop
  332.     bra    ko_process
  333.     
  334. joy_1_check:
  335.     bsr    joy_1
  336.     btst    #6,d0
  337.     bne    pause_exit
  338. joy_1_loop:
  339.     bsr    joy_1
  340.     btst    #6,d0
  341.     beq    joy_1_loop
  342.     bra    ko_process
  343.  
  344. *---------------------------------------
  345.     .even
  346. stage_tbl:
  347.     .dc.w    256,0
  348.     .dc.w    256,256
  349.     .dc.w    256,256
  350.     .dc.w    256,0
  351.     .dc.w    0,0
  352.     .dc.w    256,0
  353.     .dc.w    256,0
  354.     .dc.w    0,0
  355.     .dc.w    0,0
  356. stage_score:
  357.     .dc.w    0
  358. *---------------------------------------
  359.